package com.bonc.apicreator.dao;


import java.util.List;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.transaction.annotation.Transactional;
import com.bonc.apicreator.entity.Module;


/**
 * 〈一句话功能简述〉module的Dao层
 *
 * @author liuchang
 * @version 2016年10月8日
 * @see ModuleDao
 * @since
 */
@Transactional
public interface ModuleDao extends JpaRepository<Module, Long> {
    /**
     * Description:根据模块名和proId查module
     * 
     * @param name
     * @param proId
     * @return Module
     * @see
     */
    Module findByNameAndProId(String name, Long proId);

    /**
     * Description: 按权重排序，按名称检索返回分页数据
     * 
     * @param proId
     * @param pageable
     * @return Page<Module>
     * @see
     */

    Page<Module> findByProIdOrderBySort(Long proId, Pageable pageable);

    /**
     * Description:按权重排序，按名称检索返回分页数据
     * 
     * @param proId
     * @param condition
     * @param pageable
     * @return Page<Module>
     * @see
     */
    Page<Module> findByProIdAndNameContaining(Long proId, String condition, Pageable pageable);

    /**
     * Description: 根据proId查询module返回list
     * 
     * @param proId
     * @return List<Module>
     * @see
     */
    List<Module> findByProIdOrderBySort(Long proId);
}
